import { createApp } from "vue";
import App from "./App.vue";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
import zhCn from "element-plus/dist/locale/zh-cn.mjs";
import router from "./router";
import store from "./store";
import "./style/headtype.css";
import "./style/style.css";
const app = createApp(App);

app.use(store);
app.use(router);
app.use(ElementPlus, { locale: zhCn });

//请求地址
import urls from "../api/api.js";
app.config.globalProperties.$urls = urls;
import request from "../api/request.js";
// 请求方法
app.config.globalProperties.$request = request;
//弹窗提示
import tips from "../config/Tips";
app.config.globalProperties.$tips = tips;
app.mount("#app");

const debounce = (fn, delay) => {
	let timer = null;

	return function () {
		let context = this;

		let args = arguments;

		clearTimeout(timer);

		timer = setTimeout(function () {
			fn.apply(context, args);
		}, delay);
	};
};

const _ResizeObserver = window.ResizeObserver;

window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
	constructor(callback) {
		callback = debounce(callback, 16);
		super(callback);
	}
};